package com.guodi.model.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guodi.model.entity.User;
import com.guodi.model.vo.ApiCimUser;
import com.guodi.system.dto.OrgDTO;
import com.guodi.system.vo.RegionVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper extends BaseMapper<User> {


    /**
     * @描述: 查询排序最大值
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/4/21 11:29
     **/
    Integer getMaxSort(@Param("tableName") String tableName);

    /**
     * @描述: 通过行政区划编码查找机构
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/4/21 14:48
     **/
    OrgDTO getOrgIdByRegionCode(@Param("regionCode") String regionCode);

    /**
     * @描述: 查询所有单位
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/4/23 10:13
     **/
    List<OrgDTO> listUnitTree();

    /**
     * @描述: 删除用户
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/4/24 9:23
     **/
    void delByUserId(@Param("userId")Long userId);

    /**
     * @描述: 查询是否有这个用户
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/7/18 16:25
     **/
    ApiCimUser selectByAccount(@Param("account")String account);

    /**
     * @描述: 通过行政区划编码查询行政区划
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/7/19 14:41
     **/
    RegionVO findRegionByCode(@Param("code")String code);
}
